Skip to content

feat(mobile): align design language with desktop and polish UI - #321

Merged
wesbillman merged 2 commits into
mainfrom
mobile-polish
Apr 14, 2026
Merged

feat(mobile): align design language with desktop and polish UI#321
wesbillman merged 2 commits into
mainfrom
mobile-polish

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

  • Typography: Bundle Geist font (variable TTF) to match desktop
  • Component styling: Align border radii, inputs, dialogs, tooltips, popups to desktop's shadcn "New York" style
  • Accent colors: 9-color picker (Mauve default + Blue, Cyan, Green, Orange, Red, Pink, Purple, Indigo) with WCAG contrast-safe foregrounds, persisted via SharedPreferences
  • Theme persistence: Theme mode + accent hydrated synchronously before first frame (no flash on cold start)
  • Channel list: Slack-style compact rows with section header, alphabetical sort, relative timestamps, ephemeral channel badge (amber clock icon with countdown)
  • DRY refactor: Eliminated ~100 lines of light/dark theme duplication via _buildTheme() builder

Test plan

  • flutter analyze — no issues
  • flutter test — 33/33 pass
  • Manual: verify Geist font renders on iOS and Android
  • Manual: verify accent color picker updates all primary-colored elements
  • Manual: verify theme + accent persist across app restart
  • Manual: verify ephemeral badge appears on TTL channels

🤖 Generated with Claude Code

- Bundle Geist font (variable TTF) matching desktop typography
- Align component radii to desktop shadcn "New York" style:
  buttons 8px, cards 10px, dialogs 24px, chips 6px
- Switch inputs from filled to outlined style
- Add themed dialogs, tooltips, popups, bottom sheets, snackbars
- Add 9 accent colors (Mauve default + 8 from desktop) with picker
  in Settings, using WCAG contrast ratio for onPrimary
- Persist theme mode + accent via SharedPreferences, hydrated
  synchronously before first frame (no flash)
- Refactor AppTheme to eliminate light/dark duplication
- Redesign channel list: compact Slack-style rows with section
  header, relative timestamps, no dividers
- Sort channels alphabetically
- Add ephemeral channel badge (amber clock icon with countdown)
- Add ttlSeconds/ttlDeadline fields to Channel model

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@wesbillman

Copy link
Copy Markdown
Collaborator Author
Screenshot 2026-04-14 at 3 21 03 PM Screenshot 2026-04-14 at 3 21 44 PM Screenshot 2026-04-14 at 3 22 23 PM

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@wesbillman
wesbillman merged commit 3eabe74 into main Apr 14, 2026
10 checks passed
@wesbillman
wesbillman deleted the mobile-polish branch April 14, 2026 21:33
kaalph pushed a commit to kaalph/buzz that referenced this pull request Aug 21, 2026
# By Wes (12) and others
# Via GitHub
* main: (26 commits)
  feat(mobile): websocket streaming with real-time messaging (block#323)
  feat(markdown): add image/video preview, lightbox, and multi-image gallery (block#316)
  feat(composer): add rich text editor with formatting and mentions (block#310)
  feat(mobile): align design language with desktop and polish UI (block#321)
  fix: lock file registry (block#318)
  feat(mobile): QR/code pairing flow with security hardening (block#317)
  feat: Sprout Huddles — voice conversations with AI agents (block#299)
  feat(mobile): add channel list with relay integration (block#315)
  feat: add change member role in channel sidebar (block#313)
  feat(desktop): deterministic nested thread panels (block#308)
  fix: show private channels in channel browser when user is a member (block#311)
  Replace inline channel creation with dialog (block#312)
  chore: improve chat message layout to left-aligned design (block#309)
  Add edit dialog for managed agents with relay profile sync (block#277)
  fix(ci): build relay with optimized profile to fix flaky e2e tests (block#307)
  Update actions/checkout action to v6 (block#305)
  Update dependency @tanstack/react-query to v5.98.0 (block#304)
  Update dependency @playwright/test to v1.59.1 (block#303)
  Update react monorepo to v19.2.5 (block#302)
  feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (block#306)
  ...

# Conflicts:
#	desktop/src-tauri/Cargo.lock
#	desktop/src-tauri/Cargo.toml
#	desktop/src-tauri/src/lib.rs
#	desktop/src/features/channels/ui/ChannelScreen.tsx
kaalph pushed a commit to kaalph/buzz that referenced this pull request Aug 21, 2026
# By Wes (12) and others
# Via GitHub
* main: (26 commits)
  feat(mobile): websocket streaming with real-time messaging (block#323)
  feat(markdown): add image/video preview, lightbox, and multi-image gallery (block#316)
  feat(composer): add rich text editor with formatting and mentions (block#310)
  feat(mobile): align design language with desktop and polish UI (block#321)
  fix: lock file registry (block#318)
  feat(mobile): QR/code pairing flow with security hardening (block#317)
  feat: Sprout Huddles — voice conversations with AI agents (block#299)
  feat(mobile): add channel list with relay integration (block#315)
  feat: add change member role in channel sidebar (block#313)
  feat(desktop): deterministic nested thread panels (block#308)
  fix: show private channels in channel browser when user is a member (block#311)
  Replace inline channel creation with dialog (block#312)
  chore: improve chat message layout to left-aligned design (block#309)
  Add edit dialog for managed agents with relay profile sync (block#277)
  fix(ci): build relay with optimized profile to fix flaky e2e tests (block#307)
  Update actions/checkout action to v6 (block#305)
  Update dependency @tanstack/react-query to v5.98.0 (block#304)
  Update dependency @playwright/test to v1.59.1 (block#303)
  Update react monorepo to v19.2.5 (block#302)
  feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (block#306)
  ...

# Conflicts:
#	desktop/src-tauri/Cargo.lock
#	desktop/src-tauri/Cargo.toml
#	desktop/src-tauri/src/lib.rs
#	desktop/src/features/channels/ui/ChannelScreen.tsx
BradGroux pushed a commit to BradGroux/buzz that referenced this pull request Aug 23, 2026
…#321)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant